package com.electronic.modules.electronicSealSignature.param;

import com.alibaba.fastjson.JSON;
import com.electronic.valid.BeanValidator;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @Author: IFCA
 * @Description: 提交签章信息
 */
@Data
public class CommitSignInfoDTO {

    /**
     * 签章类型 custom-普通签章，pageSeal-骑缝章
     */
    @NotBlank(message = "签章类型不能为空")
    private String signatureType;

    /**
     * 签章所在页 0-表示所有页，多页码用,隔开(英文逗号)
     */
    @NotBlank(message = "签章所在页不能为空")
    private String page;

    /**
     * 定位关键字(骑缝章传“x”代表横着切割印章，传“y”代表竖着切割印章)
     */
    private String keyword;

    /**
     * 定位X坐标
     */
    @NotNull(message = "签章位置坐标X不能为空")
    private Float x= 0f;

    /**
     * 定位Y坐标
     */
    @NotNull(message = "签章位置坐标Y不能为空")
    private Float y= 0f;

    public static CommitSignInfoDTO validate(String businessData) {
        CommitSignInfoDTO dto = JSON.parseObject(businessData, CommitSignInfoDTO.class);
        //验证必填项
        BeanValidator.validateReturnException(dto);
        return dto;
    }
}
